<?php
namespace common\components;
use yii;
class PicProcess
{
    /**
     * @name 图片合成
     * @param string $pic_1
     * @param string $pic_2
     * @param string $savePath
     */
    public function composePic($pic_1,$pic_2,$savePath)
    {
        $basePath = yii::getAlias('@webroot');
        $path_1 = $basePath."/uploads/exhibition/20151021/1.png";
        
        //装备图片
        $path_2 = $basePath."/uploads/exhibition/20151021/2.png";
        
        //将人物和装备图片分别取到两个画布中
        $image_1 = imagecreatefrompng($path_1);
        $image_2 = imagecreatefrompng($path_2);
        
        //创建一个和人物图片一样大小的真彩色画布（ps：只有这样才能保证后面copy装备图片的时候不会失真）
        $image_3 = imageCreatetruecolor(1000,1000);
        
        //为真彩色画布创建白色背景，再设置为透明
        $color = imagecolorallocate($image_3, 255, 255, 255);
        imagefill($image_3, 0, 0, $color);
        imageColorTransparent($image_3, $color);
        //首先将人物画布采样copy到真彩色画布中，不会失真
        imagecopyresampled($image_3,$image_1,0,0,0,0,1000,200,imagesx($image_1),imagesy($image_1));
        
        //再将装备图片copy到已经具有人物图像的真彩色画布中，同样也不会失真
        
        imagecopymerge($image_3,$image_2, 0,200,0,0,1000,800, 100);
        
        imagecopymerge($image_3,$image_2, 500,400,0,0,200,200, 100);
        
        //将画布保存到指定的gif文件
        imagepng($image_3, $basePath."/ticket/hero_gam.png",9);
    }
}